package model;

import java.io.Serializable;

import java.math.BigDecimal;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;

@Entity
@NamedQueries( { @NamedQuery(name = "Taller.findAll", query = "select o from Taller o") })
public class Taller implements Serializable {
    @Id
    @Column(name = "ID_TALLER", nullable = false)
    private BigDecimal idTaller;
    @Column(length = 20)
    private String nombre;
    @Column(name = "TIPO_TALLER", length = 20)
    private String tipoTaller;
    @Column(nullable = false, length = 20)
    private String ubicacion;
    @OneToMany(mappedBy = "taller")
    private List<JefeTaller> jefeTallerList1;
    @OneToMany(mappedBy = "taller1")
    private List<Mantencion> mantencionList2;

    public Taller() {
    }

    public Taller(BigDecimal idTaller, String nombre, String tipoTaller, String ubicacion) {
        this.idTaller = idTaller;
        this.nombre = nombre;
        this.tipoTaller = tipoTaller;
        this.ubicacion = ubicacion;
    }

    public BigDecimal getIdTaller() {
        return idTaller;
    }

    public void setIdTaller(BigDecimal idTaller) {
        this.idTaller = idTaller;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getTipoTaller() {
        return tipoTaller;
    }

    public void setTipoTaller(String tipoTaller) {
        this.tipoTaller = tipoTaller;
    }

    public String getUbicacion() {
        return ubicacion;
    }

    public void setUbicacion(String ubicacion) {
        this.ubicacion = ubicacion;
    }

    public List<JefeTaller> getJefeTallerList1() {
        return jefeTallerList1;
    }

    public void setJefeTallerList1(List<JefeTaller> jefeTallerList1) {
        this.jefeTallerList1 = jefeTallerList1;
    }

    public JefeTaller addJefeTaller(JefeTaller jefeTaller) {
        getJefeTallerList1().add(jefeTaller);
        jefeTaller.setTaller(this);
        return jefeTaller;
    }

    public JefeTaller removeJefeTaller(JefeTaller jefeTaller) {
        getJefeTallerList1().remove(jefeTaller);
        jefeTaller.setTaller(null);
        return jefeTaller;
    }

    public List<Mantencion> getMantencionList2() {
        return mantencionList2;
    }

    public void setMantencionList2(List<Mantencion> mantencionList2) {
        this.mantencionList2 = mantencionList2;
    }

    public Mantencion addMantencion(Mantencion mantencion) {
        getMantencionList2().add(mantencion);
        mantencion.setTaller1(this);
        return mantencion;
    }

    public Mantencion removeMantencion(Mantencion mantencion) {
        getMantencionList2().remove(mantencion);
        mantencion.setTaller1(null);
        return mantencion;
    }
}
